// 商品管理
const router = require('express').Router();
const itemModel = require('../models/collections/item');
const dayjs = require('dayjs');
// 商品列表
router.get('/itemLists', async (req, res) => {
  let { page=1,pageSize=4 } = req.query;
  page = parseInt(page);
  pageSize = parseInt(pageSize);
  const items = await itemModel.find().limit(pageSize).skip((page-1)*pageSize).sort({
    _id: -1
  });
  // 查询 商品表 总条数
  const total = await itemModel.count();
  res.render('itemLists', {
    items,
    total,
    page
  })
})
// 新增商品页
router.get('/itemAdd', (req, res) => {
  res.render('itemAdd')
})
// 更新商品页
router.get('/itemUpdate', async (req, res) => {
  // 根据商品id 获取商品详情 传递给更新商品页面渲染初始值
  const item = await itemModel.findById(req.query.id);
  res.render('itemUpdate', {
    item
  })
})
// 删除商品
router.get('/delItem', (req, res) => {
  const { id } = req.query;
  itemModel.deleteOne({
    _id: id
  }).then(ret => {
    res.send({
      code: 0,
      msg:'删除成功'
    })
  }).catch(err => {
    res.send({
      code: -1,
      msg:'删除失败'
    })
  })
})
// 新增商品
router.post('/addItem', (req, res) => {
  itemModel.insertMany({
    ...req.body,
    createAt: dayjs().format('YYYY-MM-DD HH:mm:ss')
  }).then(ret=> {
    res.send({
      code: 0,
      msg: '新增商品成功'
    })
  }).catch(err=> {
    res.send({
      code: -1,
      msg: '新增商品失败'
    })
  })
})
// 更新商品
router.post('/updateItem', (req, res) => {
  itemModel.updateOne(
    {
      _id: req.body._id
    },
    req.body
  ).then(ret => {
    res.send({
      code: 0,
      msg:'修改成功'
    })
  }).catch(err=> {
    res.send({
      code: -1,
      msg:'修改失败'
    })
  })
})
module.exports = router